#pragma once
#ifndef DRAWFUNCTIONS_H_
#define DRAWFUNCTIONS_H_

void DrawTileset(CSprite *sprite, int xframe, int yframe, Vector2 pos, Vector2 scale, float angle, D3DCOLOR argb);
void DrawSprite(CSprite *sprite, int frame, Vector2 pos, Vector2 scale, float angle, D3DCOLOR argb);
void DrawSprite(CSprite *sprite, int frame, Vector2 pos);
void DrawSpriteExact(CSprite *sprite, int frame, Vector2 pos, Vector2 scale, float angle, D3DCOLOR argb);
void DrawSpriteExact(CSprite *sprite, int frame, Vector2 pos);

void DrawRect(Vector2 pos, int w, int h, D3DCOLOR color);
void DrawRect(Vector2 pos, int w, int h, D3DCOLOR bgcolor, int bordersize, D3DCOLOR bordercolor);
void DrawRectExact(Vector2 pos, int w, int h, D3DCOLOR color);
void DrawRectExact(Vector2 pos, int w, int h, D3DCOLOR bgcolor, int bordersize, D3DCOLOR bordercolor);

void DrawText(CText* font, std::string str, Vector2 pos, D3DCOLOR color);
void DrawText(CText* font, std::string str, Vector2 pos, float width, float height, D3DCOLOR color, DWORD flags);
void DrawTextExact(CText* font, std::string str, Vector2 pos, D3DCOLOR color);
void DrawTextExact(CText* font, std::string str, Vector2 pos, float width, float height, D3DCOLOR color, DWORD flags);

void DrawLine(Vector2 pos1, Vector2 pos2, D3DCOLOR color);
void DrawLineExact(Vector2 pos1, Vector2 pos2, D3DCOLOR color);


#endif